package com.example.hospitalManage.service;

import com.example.hospitalManage.controller.user.param.UserUpdateParam;
import com.example.hospitalManage.entity.UserInfo;
import com.example.hospitalManage.utils.PageQueryUtil;
import com.example.hospitalManage.utils.PageResult;

/**
 * @ProjectName: yygh
 * @Author: gxy
 * @Time: 2022/12/29 20:17
 * @Description: 描述
 */

public interface UserOperateService {

    /**
     * 用户注册
     * @param nickName
     * @param password
     * @param phone
     * @param name
     * @return
     */
    String register(String nickName, String password, String phone, String name);


    /**
     * 用户登录
     * @param phone
     * @param password
     * @return
     */
    String login(String phone, String password);

    /**
     * 用户信息修改
     * @param userId
     * @return
     */
    Boolean updateUserInfo(Long userId, UserUpdateParam userInfo);

    /**
     * 用户登出
     * @param userId
     * @return
     */
    Boolean logout(Long userId);

    /**
     * 用户禁用与解除禁用(0-未锁定 1-已锁定)
     *
     * @param ids
     * @param status
     * @return
     */
    Boolean lockUsers(Long[] ids, int status);

    /**
     * 后台分页
     *
     * @param pageUtil
     * @return
     */
    PageResult getUsersPage(PageQueryUtil pageUtil);


}
